package cn.gson.springboot.model.pjos;

import javax.persistence.*;
import java.sql.Date;
import java.sql.Timestamp;
import java.util.Objects;

@Entity
public class Cuclue {
    private int cucId;
    private String cucGather;
    private Integer cupId3;
    private String cucStatus;
    private String cucType;
    private String cucRecord;
    private Timestamp cucSubmitTime;
    private String cucRemark;
    private String cucXqinfo;
    private String cucLinkName;
    private String cucLinkPhone;
    private String cuclinkProvince;
    private String cuclinkCity;
    private String cuclinkArea;
    private String cuclinkXxaddress;
    private Customer customerByCustomId;
    private Emp culueEmpid;

    @Id
    @Column(name = "cuc_id")
    @GeneratedValue(strategy = GenerationType.IDENTITY,generator = "seq")
    public int getCucId() {
        return cucId;
    }

    public void setCucId(int cucId) {
        this.cucId = cucId;
    }

    @Basic
    @Column(name = "cuc_gather")
    public String getCucGather() {
        return cucGather;
    }

    public void setCucGather(String cucGather) {
        this.cucGather = cucGather;
    }

    @Basic
    @Column(name = "cup_id3")
    public Integer getCupId3() {
        return cupId3;
    }

    public void setCupId3(Integer cupId3) {
        this.cupId3 = cupId3;
    }

    @Basic
    @Column(name = "cuc_status")
    public String getCucStatus() {
        return cucStatus;
    }

    public void setCucStatus(String cucStatus) {
        this.cucStatus = cucStatus;
    }

    @Basic
    @Column(name = "cuc_type")
    public String getCucType() {
        return cucType;
    }

    public void setCucType(String cucType) {
        this.cucType = cucType;
    }

    @Basic
    @Column(name = "cuc_record")
    public String getCucRecord() {
        return cucRecord;
    }

    public void setCucRecord(String cucRecord) {
        this.cucRecord = cucRecord;
    }

    @Basic
    @Column(name = "cuc_submit_time")
    public Timestamp getCucSubmitTime() {
        return cucSubmitTime;
    }

    public void setCucSubmitTime(Timestamp cucSubmitTime) {
        this.cucSubmitTime = cucSubmitTime;
    }

    @Basic
    @Column(name = "cuc_remark")
    public String getCucRemark() {
        return cucRemark;
    }

    public void setCucRemark(String cucRemark) {
        this.cucRemark = cucRemark;
    }

    @Basic
    @Column(name = "cuc_xqinfo")
    public String getCucXqinfo() {
        return cucXqinfo;
    }

    public void setCucXqinfo(String cucXqinfo) {
        this.cucXqinfo = cucXqinfo;
    }

    @Basic
    @Column(name = "cuc_link_name")
    public String getCucLinkName() {
        return cucLinkName;
    }

    public void setCucLinkName(String cucLinkName) {
        this.cucLinkName = cucLinkName;
    }

    @Basic
    @Column(name = "cuc_link_phone")
    public String getCucLinkPhone() {
        return cucLinkPhone;
    }

    public void setCucLinkPhone(String cucLinkPhone) {
        this.cucLinkPhone = cucLinkPhone;
    }

    @Basic
    @Column(name = "cuclink_province")
    public String getCuclinkProvince() {
        return cuclinkProvince;
    }

    public void setCuclinkProvince(String cuclinkProvince) {
        this.cuclinkProvince = cuclinkProvince;
    }

    @Basic
    @Column(name = "cuclink_city")
    public String getCuclinkCity() {
        return cuclinkCity;
    }

    public void setCuclinkCity(String cuclinkCity) {
        this.cuclinkCity = cuclinkCity;
    }

    @Basic
    @Column(name = "cuclink_area")
    public String getCuclinkArea() {
        return cuclinkArea;
    }

    public void setCuclinkArea(String cuclinkArea) {
        this.cuclinkArea = cuclinkArea;
    }

    @Basic
    @Column(name = "cuclink_xxaddress")
    public String getCuclinkXxaddress() {
        return cuclinkXxaddress;
    }

    public void setCuclinkXxaddress(String cuclinkXxaddress) {
        this.cuclinkXxaddress = cuclinkXxaddress;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        Cuclue cuclue = (Cuclue) o;
        return cucId == cuclue.cucId &&
                Objects.equals(cucGather, cuclue.cucGather) &&
                Objects.equals(cupId3, cuclue.cupId3) &&
                Objects.equals(cucStatus, cuclue.cucStatus) &&
                Objects.equals(cucType, cuclue.cucType) &&
                Objects.equals(cucRecord, cuclue.cucRecord) &&
                Objects.equals(cucSubmitTime, cuclue.cucSubmitTime) &&
                Objects.equals(cucRemark, cuclue.cucRemark) &&
                Objects.equals(cucXqinfo, cuclue.cucXqinfo);
    }

    @Override
    public int hashCode() {
        return Objects.hash(cucId, cucGather, cupId3, cucStatus, cucType, cucRecord, cucSubmitTime, cucRemark, cucXqinfo);
    }

    @ManyToOne
    @JoinColumn(name = "custom_id", referencedColumnName = "custom_id")
    public Customer getCustomerByCustomId() {
        return customerByCustomId;
    }

    public void setCustomerByCustomId(Customer customerByCustomId) {
        this.customerByCustomId = customerByCustomId;
    }

    @ManyToOne
    @JoinColumn(name = "culue_empid", referencedColumnName = "employees_id")
    public Emp getCulueEmpid() {
        return culueEmpid;
    }

    public void setCulueEmpid(Emp culueEmpid) {
        this.culueEmpid = culueEmpid;
    }
}
